home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / rpc / rpc_des.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  2KB  |  73 lines

  1. /*
  2.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  3.  * unrestricted use provided that this legend is included on all tape
  4.  * media and as a part of the software program in whole or part.  Users
  5.  * may copy or modify Sun RPC without charge, but are not authorized
  6.  * to license or distribute it to anyone else except as part of a product or
  7.  * program developed by the user.
  8.  * 
  9.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  10.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  11.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  12.  * 
  13.  * Sun RPC is provided with no support and without any obligation on the
  14.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  15.  * modification or enhancement.
  16.  * 
  17.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  18.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  19.  * OR ANY PART THEREOF.
  20.  * 
  21.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  22.  * or profits or other special, indirect and consequential damages, even if
  23.  * Sun has been advised of the possibility of such damages.
  24.  * 
  25.  * Sun Microsystems, Inc.
  26.  * 2550 Garcia Avenue
  27.  * Mountain View, California  94043
  28.  */
  29. /*
  30.  * Generic DES driver interface
  31.  * Keep this file hardware independent!
  32.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  33.  */
  34.  
  35. #ifndef _DES_H
  36. #define _DES_H
  37.  
  38. #include <sys/types.h>
  39.  
  40. #define DES_MAXLEN     65536    /* maximum # of bytes to encrypt  */
  41. #define DES_QUICKLEN    16    /* maximum # of bytes to encrypt quickly */
  42.  
  43. enum desdir
  44.   {
  45.     ENCRYPT, DECRYPT
  46.   };
  47. enum desmode
  48.   {
  49.     CBC, ECB
  50.   };
  51.  
  52. /*
  53.  * parameters to ioctl call
  54.  */
  55. struct desparams
  56.   {
  57.     u_char des_key[8];        /* key (with low bit parity) */
  58.     enum desdir des_dir;    /* direction */
  59.     enum desmode des_mode;    /* mode */
  60.     u_char des_ivec[8];        /* input vector */
  61.     unsigned des_len;        /* number of bytes to crypt */
  62.     union
  63.       {
  64.     u_char UDES_data[DES_QUICKLEN];
  65.     u_char *UDES_buf;
  66.       }
  67.     UDES;
  68. #define des_data UDES.UDES_data    /* direct data here if quick */
  69. #define des_buf    UDES.UDES_buf    /* otherwise, pointer to data */
  70.   };
  71.  
  72. #endif
  73.